SciCalc is a scientific calculator with the features I liked best from my last several (real) calculators. It uses algebraic entry with the usual order of operations, with parentheses available to change that order. It computes the standard scientific functions, plus one-variable statistics (average, standard deviation, and (nÐ1)-weighted standard deviation). The statistics are available at all times (no statistics ÒmodeÓ). It has a choice of floating point and scientific notation. I had some fun with the graphics; I hope you like them.
SciCalc has been run successfully on a MacIIsi and on a MacPlus, under System 6.0.7 and System 7. It will probably run on any System from 4.1 on, but it has not been tested.
Note: I had to change the layout of the ÒSciCalc SettingsÓ file somewhat. SciCalc v1.2 understands version 1.0 settings files, but SciCalc v1.0 will not be happy with the new settings file. Future settings files should be understandable to all versions from 1.2 on.
Ê
Here are some not-necessarily-obvious descriptions of the functions of various keys. If you are familiar with a scientific calculator, there are no big surprises. Short descriptions of each key are also available through balloon help in System 7.
¥ Second Functions: Most of the buttons have second functions (shown above the key). You can get these by clicking the Ò2ndÓ key first, or by holding down the Shift key while clicking a button with the mouse. See also the section on keyboard equivalents below.
¥ Clicking ÒCÓ once clears the displayed value; clicking twice clears all pending calculations.
¥ The degrees/radians button changes the interpretation of the arguments to the trig functions; the current setting is shown in the upper left above the displayed value. The second function of this button does the same, but in addition converts the displayed value from degrees to radians or vice-versa.
¥ The ÒhypÓ key can be used to compute the hyperbolic sine, cosine, and tangent. Click ÒhypÓ and then the appropriate trig function.
¥ The general power button (looks like y to the x power) behaves like a binary operator (+, -, etc.), with y as the first number entered and x as the second. Thus, to find 3 to the 5th power, you would click: 3 y^x 5 =
¥ The Òx<Ñ>yÓ button switches the arguments to any binary operation. E.g., clicking 4 y^x 3 x<Ñ>y = will compute 3 to the 4th power. What the button actually does is swap the displayed value and the most recent value on the stack.
¥ Statistics: Use ÒCLSÓ to clear the statistics. Use ·+ to enter the displayed value as a data point, and use ·- to remove the displayed value from the list of data points; the number of data points is then displayed. The button ÒnÓ shows you the number of data points, Òx barÓ gives you the average, Òsigma nÓ computes the standard deviation, and Òsigma nÐ1Ó computes the (nÐ1)-weighted standard deviation. These are all second functions of other buttons.
¥ There are 10 memories. ÒSTOÓ is used to store the display value in one of the memories, and ÒRCLÓ is used to recall a value. Follow either button with one of the digits 0-9. The ÒCLMÓ button clears all of the memories to 0.
¥ The arrow ÒÑ>Ó removes the last digit entered, or the decimal point.
¥ The calculator can use either floating point or scientific notation. In floating point mode, numbers within several orders of magnitude of 1 will be shown in normal floating point notation, but very large or small numbers will use scientific notation. You can change the mode using the ÒFLOÓ (to put it in floating point mode) and ÒSCIÓ (to put it in scientific mode) buttons.
Ê
Rather than clicking with the mouse, you can use most of the functions of the calculator via keyboard equivalents. There is also a somewhat bizarre way of reassigning these equivalents. Here is the default assignment of keys on an extended keyboard:
Ê
With shift key down:
Ê
With option key down:
Ê
With shift and option keys down:
Ê
Now for the bizarre way in which these key assignments can be changed: I assume that you know something about using ResEdit, otherwise wait until a future release of SciCalc for a better way of editing the key assignments. Included in this package is a ResEdit file KeyMap.rsrc. Make sure that you have run SciCalc at least once, so that you have a ÒSciCalc SettingsÓ file in your Preferences folder inside the System folder. Run ResEdit, open KeyMap.rsrc, and copy the ÔRMAPÕ resource into your ÒResEdit PreferencesÓ file. Quit ResEdit and restart, opening KeyMap.rsrc again. You should now be able to edit the ÔSCHRÕ resource included in that file. This is the resource that defines the key assignments, and is really a ÔKCHRÕ key mapping resource in diguise. ResEdit should give you a window like this:
Ê
The mapping from keyboard keys to calculator buttons is defined by assigning to each key a character whose hex value $mn gives the row m (1-7) and column n (1-5) of the corresponding button. To get the second function of a key, add 5 to the row number to get n. For example, the key Ô1Õ on the keyboard is assigned character ÔbÕ, which is hex $62, since the Ô1Õ button on the calculator is in the 6th row and 2nd column. On the other hand, the ÔpÕ key on the keyboard is assigned the character with hex value $17 (which shows up as a box in the picture above), since Ô¹Õ is the second function of the button in the first row and second column. You assign a character to a key by dragging the character from the array in the top left of the window to the appropriate place on the keyboard at the bottom. The hex value of the character will be shown to you in the small rectangle in the middle of the right side of the window. If you want to assign a calculator button to a shifted and/or ÒoptionedÓ key, hold those modifier keys down as you make the assignment. To clear an assignment, drag the $00 character to the key.
To have your new key assignments used, copy your new SCHR resource into the ÒSciCalc SettingsÓ file, replacing the resource that is already there. Make sure that the resource keeps ID 2000. I do not recommend changing the corresponding resource that exists in SciCalc itself, for two reasons: (1) It wonÕt work. The resource in the Settings file overrides the one in SciCalc. (2) ResEdit is dangerous, and editing a Settings file worries me less than editing an application. Having said that, if you trash the ÒSciCalc SettingsÓ file and change the resource in SciCalc itself, it will change the key assignments, and the following note will not apply.
Note: If you want to move SciCalc to another machine and retain your new key assignments, you will have to copy the ÒSciCalc SettingsÓ file to the new machine as well as SciCalc itself.
ItÔs a hack, but it works. A future version of the calculator will have a better way of changing the key assignments, I promise.
Ê
¥ The displayed value, the values stored in memory, the data for statistics, the degree/radians mode, the floating/scientific mode, and the position of the calculator on the screen are all remembered between sessions. (These are saved in the ÒSciCalc SettingsÓ file in the Preferences folder in the System folder.)
¥ The displayed value can be copied to the clipboard for pasting into other applications. Numbers are represented as text in either floating point or scientific notation, depending on the current mode. Scientific notation uses the usual convention, e.g., 1.234E-567 for 1.234 x 10^(-567). Ten significant digits will be shown, with trailing zeros removed. ÒCutÓ copies and clears the calculator. If there is text on the clipboard that can be interpreted as a number, you can paste this into the calculator.
¥ Factorials can be computed up to 1750!, close to the limit of the largest number representable on the Mac.
¥ You can have up to 512 pending operations and left parentheses. This should be more than sufficient for any practical use.
¥ The color graphics work best on a screen with 256 colors. They will also work with 16 colors, but they will affect the colors used in other programs (and look strange when the calculator is in the background). In particular, they will force the Finder and some of the fancy System 7 color touches into black and white. On a screen with 4 or fewer colors the calculator will be drawn in black and white. I am not sure what will happen if the calculator is dragged halfway between two screens with different numbers of colors, as I do not have easy access to such a system. I have tried to make it do the right thing, but I have not been able to test it.
Ê
¥ Added scientific mode.
¥ Keyboard->calculator button mapping is now done via an SCHR (=KCHR) resource, allowing editing of this mapping using ResEdit.
¥ Added many more keyboard equivalents.
¥ Rearranged buttons slightly to allow neater keyboard->calculator button mapping.
¥ Changed layout of settings file somewhat, added version number for future compatibility.
¥ Documentation redone as a TeachText file after several complaints about other formats.
¥ Removed bug that gave an error when calculating 0%.
Note: Version 1.1 was never released. The only change in that version was to include ÔcÕ and ÔCÕ as equivalents for Clear (they had inadvertantly been left out).
Ê
I am releasing this program as shareware, and asking for $10 if you use it. (After all, you can go out and buy a real calculator that does all this for $20.) What will you get for paying the fee besides a warm feeling and my undying gratitude? Well, I will be much more willing to listen to complaints and suggestions, and much more willing to release further versions. The fee includes the right to new versions as they are released. Watch for upgrades where you got this copy. I will try to let registered users know when upgrades are available. Site licences are also available; contact me for details.
This software is being distributed as is. I make no claims as to its correctness or usability. IÕve done what I can to clean out the bugs, but IÕm willing to believe there are some left. Let me know.